]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
js: Remove unused catch bindings
authorFlorian Müllner <fmuellner@gnome.org>
Tue, 1 Apr 2025 14:16:07 +0000 (16:16 +0200)
committerMarge Bot <marge-bot@gnome.org>
Sun, 13 Apr 2025 12:01:40 +0000 (12:01 +0000)
Optional catch bindings have been supported for quite a while now,
so we can treat unused error bindings in catch statements like any
other unused variable.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3684>

35 files changed:
js/dbusServices/screencast/screencastService.js
js/gdm/loginDialog.js
js/misc/dbusUtils.js
js/misc/fileUtils.js
js/misc/ibusManager.js
js/misc/inputMethod.js
js/misc/jsParse.js
js/misc/loginManager.js
js/misc/modemManager.js
js/misc/systemActions.js
js/misc/util.js
js/ui/appDisplay.js
js/ui/audioDeviceSelection.js
js/ui/background.js
js/ui/components/automountManager.js
js/ui/components/networkAgent.js
js/ui/components/polkitAgent.js
js/ui/endSessionDialog.js
js/ui/environment.js
js/ui/extensionDownloader.js
js/ui/extensionSystem.js
js/ui/ibusCandidatePopup.js
js/ui/keyboard.js
js/ui/lookingGlass.js
js/ui/main.js
js/ui/remoteSearch.js
js/ui/screenshot.js
js/ui/search.js
js/ui/sessionMode.js
js/ui/status/backgroundApps.js
js/ui/status/keyboard.js
js/ui/status/network.js
js/ui/unlockDialog.js
subprojects/extensions-app/js/extensionManager.js
tests/unit/markup.js

index 41d303a06ac8a5e75081f95fd1306604e45f8bc2..117eb449407f191b0b755dc81a01b0488a7517d4 100644 (file)
@@ -313,7 +313,7 @@ class Recorder extends Signals.EventEmitter {
             // non-pipeline-related failures.
             this._updateServiceCrashBlocklist(
                 [...this._blocklistFromPreviousCrashes, pipelineConfig.id]);
-        } catch (error) {
+        } catch {
             this._tryNextPipeline();
             return;
         }
index 6ead9ab0fb56066e70f58109dc2292950cdb8643..44dad333f55321f14813a2cba941e4dc4682eb61 100644 (file)
@@ -501,7 +501,7 @@ export const LoginDialog = GObject.registerClass({
 
         try {
             this._gdmClient.set_enabled_extensions([Gdm.UserVerifierChoiceList.interface_info().name]);
-        } catch (e) {
+        } catch {
         }
 
         this._settings = new Gio.Settings({schema_id: GdmUtil.LOGIN_SCREEN_SCHEMA});
index 6e15f9e147e73bb2b2bc5126b525cab301782330..b00c815e9aed3dca4aa4d4258410a3dd2e3e8c79 100644 (file)
@@ -32,7 +32,7 @@ export function loadInterfaceXML(iface) {
     try {
         let [ok_, bytes] = f.load_contents(null);
         return new TextDecoder().decode(bytes);
-    } catch (e) {
+    } catch {
         log(`Failed to load D-Bus interface ${iface}`);
     }
 
index 583559597c80303ddc99770342e980fec3a645a9..bff53eaebb2b020e29ccd5b971efc833b3cefea9 100644 (file)
@@ -29,7 +29,7 @@ export function* collectFromDatadirs(subdir, includeUserDir) {
         try {
             fileEnum = dir.enumerate_children('standard::name,standard::type',
                 Gio.FileQueryInfoFlags.NONE, null);
-        } catch (e) {
+        } catch {
             fileEnum = null;
         }
         if (fileEnum != null) {
index 0462b2d6ae4a60b7d400236d706c3af1bf129a54..9ea9f6bae7be18ecf2fe46753b0d98b2bfed070a 100644 (file)
@@ -87,7 +87,7 @@ class IBusManager extends Signals.EventEmitter {
             this._ibusIsSystemdService =
                 await Shell.util_systemd_unit_exists(
                     IBUS_SYSTEMD_SERVICE, null);
-        } catch (e) {
+        } catch {
             this._ibusIsSystemdService = false;
         }
 
@@ -216,7 +216,7 @@ class IBusManager extends Signals.EventEmitter {
             // confusing users. We thus don't use it in that case.
             _checkIBusVersion(1, 5, 10);
             this._panelService.connect('set-content-type', this._setContentType.bind(this));
-        } catch (e) {
+        } catch {
         }
         this._updateReadiness();
 
@@ -225,7 +225,7 @@ class IBusManager extends Signals.EventEmitter {
             const engine =
                 await this._ibus.get_global_engine_async(-1, this._cancellable);
             this._engineChanged(this._ibus, engine.get_name());
-        } catch (e) {
+        } catch {
         }
     }
 
index 7561cdbf5e5f0e9bde6f8d5882f0f91286fd1b64..c41a5c49f07e8c99cb79c12ab5d829a196c996c5 100644 (file)
@@ -126,7 +126,7 @@ export const InputMethod = GObject.registerClass({
     _onDeleteSurroundingText(_context, offset, nchars) {
         try {
             this.delete_surrounding(offset, nchars);
-        } catch (e) {
+        } catch {
             // We may get out of bounds for negative offset on older mutter
             this.delete_surrounding(0, nchars + offset);
         }
@@ -357,7 +357,7 @@ export const InputMethod = GObject.registerClass({
             await this._context.process_key_event_async(
                 keyval, 0, IBus.ModifierType.RELEASE_MASK, -1, null);
             return true;
-        } catch (e) {
+        } catch {
             return false;
         }
     }
index e48d8e10daa5c037eb3249e9bed17e4467b62b00..91d0ab4bee022a5ede30936eafd0669510704122 100644 (file)
@@ -199,7 +199,7 @@ export async function getPropertyNamesFromExpression(expr, commandHeader = '') {
             const lines = expr.split('\n');
             lines.push(`return ${lines.pop()}`);
             obj = await AsyncFunction(commandHeader + lines.join(';'))();
-        } catch (e) {
+        } catch {
             return [];
         }
     } else {
index 9dd9fa251e1371fabb1ec0aa5cfe472cb589677c..ebf9d8be8c3ea12873b6a24e1ba7a5555a3888e3 100644 (file)
@@ -48,7 +48,7 @@ export function canLock() {
 
         let version = result.deepUnpack()[0].deepUnpack();
         return haveSystemd() && versionCompare('3.5.91', version);
-    } catch (e) {
+    } catch {
         return false;
     }
 }
@@ -172,7 +172,7 @@ class LoginManagerSystemd extends Signals.EventEmitter {
             const [result] = await this._proxy.CanSuspendAsync();
             needsAuth = result === 'challenge';
             canSuspend = needsAuth || result === 'yes';
-        } catch (error) {
+        } catch {
             canSuspend = false;
             needsAuth = false;
         }
@@ -186,7 +186,7 @@ class LoginManagerSystemd extends Signals.EventEmitter {
             const [result] = await this._proxy.CanRebootToBootLoaderMenuAsync();
             needsAuth = result === 'challenge';
             canRebootToBootLoaderMenu = needsAuth || result === 'yes';
-        } catch (error) {
+        } catch {
             canRebootToBootLoaderMenu = false;
             needsAuth = false;
         }
@@ -202,7 +202,7 @@ class LoginManagerSystemd extends Signals.EventEmitter {
         try {
             const [sessions] = await this._proxy.ListSessionsAsync();
             return sessions;
-        } catch (e) {
+        } catch {
             return [];
         }
     }
index 1825df195b3a0f42f49ce5d97c930b72a4ba6180..5ce9d1430111af9678d8a242d60fbd05602ba139 100644 (file)
@@ -171,7 +171,7 @@ class ModemGsm extends ModemBase {
             ]);
             this._setOperatorName(_findProviderForMccMnc(name, code));
             this._setSignalQuality(quality);
-        } catch (err) {
+        } catch {
             // it will return an error if the device is not connected
             this._setSignalQuality(0);
         }
@@ -199,7 +199,7 @@ class ModemCdma extends ModemBase {
         try {
             const [quality] = await this._proxy.GetSignalQualityAsync();
             this._setSignalQuality(quality);
-        } catch (err) {
+        } catch {
             // it will return an error if the device is not connected
             this._setSignalQuality(0);
         }
@@ -210,7 +210,7 @@ class ModemCdma extends ModemBase {
             const [bandClass_, band_, sid] =
                 await this._proxy.GetServingSystemAsync();
             this._setOperatorName(_findProviderForSid(sid));
-        } catch (err) {
+        } catch {
             // it will return an error if the device is not connected
             this._setOperatorName(null);
         }
index 99c9173bee6b2545708e1b77cc67053895035dfa..a027a8134ccc2fc9272979fbdbc9616b721041b6 100644 (file)
@@ -340,7 +340,7 @@ const SystemActions = GObject.registerClass({
         try {
             const [canShutdown] = await this._session.CanShutdownAsync();
             this._canHavePowerOff = canShutdown;
-        } catch (e) {
+        } catch {
             this._canHavePowerOff = false;
         }
         this._updatePowerOff();
index 517ff5784f34d52347ce0e06a49394970606b2f0..0a6bf19327fb47efb469c050e95bf5debac4dc74 100644 (file)
@@ -193,7 +193,7 @@ export function fixMarkup(text, allowMarkup) {
         try {
             Pango.parse_markup(_text, -1, '');
             return _text;
-        } catch (e) {}
+        } catch {}
     }
 
     // !allowMarkup, or invalid markup
index c1a9e13ce1d6251c75f7c2177545bef42705adf6..e5fcbb5bc62e4537e95b68b71995dacbc5b4f9a0 100644 (file)
@@ -1512,7 +1512,7 @@ class AppDisplay extends BaseAppView {
         this._appInfoList = Shell.AppSystem.get_default().get_installed().filter(appInfo => {
             try {
                 appInfo.get_id(); // catch invalid file encodings
-            } catch (e) {
+            } catch {
                 return false;
             }
             return !this._appFavorites.isFavorite(appInfo.get_id()) &&
@@ -1737,7 +1737,7 @@ class AppDisplay extends BaseAppView {
                 schema_id: 'org.gnome.desktop.app-folders.folder',
                 path: newFolderPath,
             });
-        } catch (e) {
+        } catch {
             log('Error creating new folder');
             return false;
         }
index 27da6cc244eb2bdaff6577aa32d0594a8d42f234..952fa46bc616db3b4aa80aff74269d0a1994836c 100644 (file)
@@ -190,7 +190,7 @@ export class AudioDeviceSelectionDBus {
         let dialog;
         try {
             dialog = new AudioDeviceSelectionDialog(devices);
-        } catch (e) {
+        } catch {
             invocation.return_value(null);
             return;
         }
index b0bf4a2f183556ce575876c43ddfd88082dbd842..130d451082b9574be5f1ed83c316d0dcc219b730 100644 (file)
@@ -503,7 +503,7 @@ const Background = GObject.registerClass({
                 Gio.FileQueryInfoFlags.NONE,
                 0,
                 this._cancellable);
-        } catch (e) {
+        } catch {
             this._setLoaded();
             return;
         }
index d7278a7f21900658f41ce640388e10e2ad5065cd..22103b0817113b3ff68b28213f1834618c9dad8c 100644 (file)
@@ -54,7 +54,7 @@ class AutomountManager {
             const [inhibited] =
                 await this._session.IsInhibitedAsync(GNOME_SESSION_AUTOMOUNT_INHIBIT);
             this._inhibited = inhibited;
-        } catch (e) {}
+        } catch {}
     }
 
     _startupMountAll() {
index 5e9c741d1309d814cd21ef24cacbe7056049b373..f3e7cdc8050c0b5fff280d9fde1387e1d63fc5a1 100644 (file)
@@ -494,7 +494,7 @@ class VPNRequestHandler extends Signals.EventEmitter {
         } else {
             try {
                 this._stdin.write('QUIT\n\n', null);
-            } catch (e) { /* ignore broken pipe errors */ }
+            } catch { /* ignore broken pipe errors */ }
         }
 
         this.destroy();
@@ -544,7 +544,7 @@ class VPNRequestHandler extends Signals.EventEmitter {
             if (line === '' && this._previousLine === '') {
                 try {
                     this._stdin.write('QUIT\n\n', null);
-                } catch (e) { /* ignore broken pipe errors */ }
+                } catch { /* ignore broken pipe errors */ }
             } else {
                 this._agent.add_vpn_secret(this._requestId, this._previousLine, line);
                 this._previousLine = undefined;
index 73d8161cc31c2c80c8584ab96027d471ddb5d30c..7c91a0601963a0a94992124994d35a4c7fb46ecd 100644 (file)
@@ -425,7 +425,7 @@ class AuthenticationAgent extends Shell.PolkitAuthenticationAgent {
     enable() {
         try {
             this.register();
-        } catch (e) {
+        } catch {
             log('Failed to register AuthenticationAgent');
         }
     }
@@ -433,7 +433,7 @@ class AuthenticationAgent extends Shell.PolkitAuthenticationAgent {
     disable() {
         try {
             this.unregister();
-        } catch (e) {
+        } catch {
             log('Failed to unregister AuthenticationAgent');
         }
     }
index 4560dd88001ac58280296a7ca771b027c67ee1e6..2bba883ee75770e9997cfd26a0bc775acb38575f 100644 (file)
@@ -174,7 +174,7 @@ function findAppFromInhibitor(inhibitor) {
     let desktopFile;
     try {
         [desktopFile] = inhibitor.GetAppIdSync();
-    } catch (e) {
+    } catch {
         // XXX -- sometimes JIT inhibitors generated by gnome-session
         // get removed too soon. Don't fail in this case.
         log(`gnome-session gave us a dead inhibitor: ${inhibitor.get_object_path()}`);
index b2f5e81f6431824ac6f84aa9ae41e7c71fdc3eba..64ee2b8e273255b188092c81b93e51360710ae73 100644 (file)
@@ -348,7 +348,7 @@ Object.prototype.toString = function () {
             return base.replace(/\]$/, ` delegate for ${this.actor.toString().substring(1)}`);
         else
             return base;
-    } catch (e) {
+    } catch {
         return base;
     }
 };
index 53fd92846e22eb080042094dfb36017f5509812c..fe687cba4361918c4d8cbe384c982c58194c48d8 100644 (file)
@@ -88,7 +88,7 @@ export function uninstallExtension(uuid) {
         const updatesDir = Gio.File.new_for_path(GLib.build_filenamev(
             [global.userdatadir, 'extension-updates', extension.uuid]));
         FileUtils.recursivelyDeleteDir(updatesDir, true);
-    } catch (e) {
+    } catch {
         // not an error
     }
 
index ece089bfd8e1962258065d5db588eb69e3e7035f..008f01c64de32dba64a6bae9afac2e0764082afd 100644 (file)
@@ -667,7 +667,7 @@ export class ExtensionManager extends Signals.EventEmitter {
             try {
                 FileUtils.recursivelyDeleteDir(extensionDir, false);
                 FileUtils.recursivelyMoveDir(dir, extensionDir);
-            } catch (e) {
+            } catch {
                 log(`Failed to install extension updates for ${uuid}`);
             } finally {
                 FileUtils.recursivelyDeleteDir(dir, true);
index 9af7d94167b2daa2015cc1c555b81ab1f650cbeb..0bb4e47ee2e8e155d92cb5aa972123763d6a258c 100644 (file)
@@ -228,7 +228,7 @@ class IbusCandidatePopup extends BoxPointer.BoxPointer {
                     rect.width,
                     rect.height);
             });
-        } catch (e) {
+        } catch {
             // Only recent IBus versions have support for this signal
             // which is used for wayland clients. In order to work
             // with older IBus versions we can silently ignore the
index d07c18a597ec43dafe9d536b642a97eb5728f425..08346d35364d8ec53d71680222674a0c740329a4 100644 (file)
@@ -1439,7 +1439,7 @@ export const Keyboard = GObject.registerClass({
                 try {
                     keyboardModel = new KeyboardModel(group);
                     break;
-                } catch (e) {
+                } catch {
                     // Ignore this error and fall back to next model
                 }
             }
index 248a47ac98e2d02d2dc559ab4f82d64e94785f76..79c56d7eee78b5f15506b7356a8ed6ed1a7ad5fe 100644 (file)
@@ -467,7 +467,7 @@ class ObjInspector extends St.ScrollView {
                 try {
                     let prop = obj[propName];
                     link = new ObjLink(this._lookingGlass, prop);
-                } catch (e) {
+                } catch {
                     link = new St.Label({text: '<error>'});
                 }
                 let box = new St.BoxLayout();
@@ -1589,7 +1589,7 @@ class LookingGlass extends St.BoxLayout {
     getResult(idx) {
         try {
             return this._resultsArea.get_child_at_index(idx - this._offset).o;
-        } catch (e) {
+        } catch {
             throw new Error(`Unknown result at index ${idx}`);
         }
     }
index 4d8079a4d86d2d97c39ca82db16e7f6aa189fce5..76b917f48c17df8c3cebbffc33becb81c145e313 100644 (file)
@@ -154,7 +154,7 @@ export async function start() {
             // toString() can throw
             if (msg)
                 args.unshift(`${msg}:`);
-        } catch (e) {}
+        } catch {}
 
         console.error(...args);
     };
index 3a6a9f2a1b7b7de833b44874588b80a6a00feb14..ae582f194a43c36437b7fba568fa3602045d571b 100644 (file)
@@ -77,7 +77,7 @@ export function loadRemoteSearchProviders(searchSettings) {
 
         try {
             keyfile.load_from_file(path, 0);
-        } catch (e) {
+        } catch {
             return;
         }
 
@@ -99,7 +99,7 @@ export function loadRemoteSearchProviders(searchSettings) {
                 appInfo = Gio.DesktopAppInfo.new(desktopId);
                 if (!appInfo.should_show())
                     return;
-            } catch (e) {
+            } catch {
                 log(`Ignoring search provider ${path}: missing DesktopId`);
                 return;
             }
@@ -107,14 +107,14 @@ export function loadRemoteSearchProviders(searchSettings) {
             let autoStart = true;
             try {
                 autoStart = keyfile.get_boolean(group, 'AutoStart');
-            } catch (e) {
+            } catch {
                 // ignore error
             }
 
             let version = '1';
             try {
                 version = keyfile.get_string(group, 'Version');
-            } catch (e) {
+            } catch {
                 // ignore error
             }
 
@@ -126,7 +126,7 @@ export function loadRemoteSearchProviders(searchSettings) {
             remoteProvider.defaultEnabled = true;
             try {
                 remoteProvider.defaultEnabled = !keyfile.get_boolean(group, 'DefaultDisabled');
-            } catch (e) {
+            } catch {
                 // ignore error
             }
 
index 49873c10a60116cdb84e4dd53fd8adab3aeb8c7a..afadc7887731a3e9ea2625624929b0daae72460a 100644 (file)
@@ -2621,7 +2621,7 @@ export class ScreenshotService {
                 screenshot.screenshot_area(x, y, width, height, stream),
             ]);
             this._onScreenshotComplete(stream, file, invocation);
-        } catch (e) {
+        } catch {
             invocation.return_value(new GLib.Variant('(bs)', [false, '']));
         } finally {
             this._removeShooterForSender(invocation.get_sender());
@@ -2644,7 +2644,7 @@ export class ScreenshotService {
                 screenshot.screenshot_window(includeFrame, includeCursor, stream),
             ]);
             this._onScreenshotComplete(stream, file, invocation);
-        } catch (e) {
+        } catch {
             invocation.return_value(new GLib.Variant('(bs)', [false, '']));
         } finally {
             this._removeShooterForSender(invocation.get_sender());
@@ -2667,7 +2667,7 @@ export class ScreenshotService {
                 screenshot.screenshot(includeCursor, stream),
             ]);
             this._onScreenshotComplete(stream, file, invocation);
-        } catch (e) {
+        } catch {
             invocation.return_value(new GLib.Variant('(bs)', [false, '']));
         } finally {
             this._removeShooterForSender(invocation.get_sender());
@@ -2696,7 +2696,7 @@ export class ScreenshotService {
 
         try {
             Main.screenshotUI.open(UIMode.SCREENSHOT_ONLY);
-        } catch (e) {
+        } catch {
             Main.screenshotUI.disconnectObject(invocation);
             invocation.return_value(new GLib.Variant('(bs)', [false, '']));
         }
@@ -2717,7 +2717,7 @@ export class ScreenshotService {
                 areaRectangle.x, areaRectangle.y,
                 areaRectangle.width, areaRectangle.height);
             invocation.return_value(GLib.Variant.new('(iiii)', retRectangle));
-        } catch (e) {
+        } catch {
             invocation.return_error_literal(
                 Gio.IOErrorEnum, Gio.IOErrorEnum.CANCELLED,
                 'Operation was cancelled');
@@ -2763,7 +2763,7 @@ export class ScreenshotService {
                 ]),
             }]);
             invocation.return_value(retval);
-        } catch (e) {
+        } catch {
             invocation.return_error_literal(
                 Gio.IOErrorEnum, Gio.IOErrorEnum.CANCELLED,
                 'Operation was cancelled');
index 9e7d4253433507e57be63c6f976fd4821483ff5f..9b513136d6839a14cf9b9b273fb8717483d50acb 100644 (file)
@@ -274,7 +274,7 @@ const SearchResultsBase = GObject.registerClass({
                 this._setMoreCount(this.provider.canLaunchSearch ? moreCount : 0);
                 this.show();
                 callback();
-            } catch (e) {
+            } catch {
                 this._clearResultDisplay();
                 callback();
             }
index e284b909aa69a04086453c016844abca8eaf683f..6c2a15ee00f22429183260166d5600e2c2c18490 100644 (file)
@@ -112,7 +112,7 @@ function _loadMode(file, info) {
         [success_, fileContent] = file.load_contents(null);
         const decoder = new TextDecoder();
         newMode = JSON.parse(decoder.decode(fileContent));
-    } catch (e) {
+    } catch {
         return;
     }
 
index 9b828f70a6f5c90c3dba21f2b245192bce0c0aa0..3399b9f9e06bf343d846d34dc50fa7026f4188f0 100644 (file)
@@ -123,7 +123,7 @@ const BackgroundAppMenuItem = GObject.registerClass({
 
         try {
             await this.app.activate_action('quit', null, 0, -1, null);
-        } catch (_error) {
+        } catch {
             try {
                 const appId = this.app.get_id().replace(/\.desktop$/, '');
                 Util.trySpawn(['flatpak', 'kill', appId]);
index 1b43e10519564d535da36d3b55192300beb39f76..6971ce128eec45800284191ccbb3d6ca05ce10d0 100644 (file)
@@ -226,7 +226,7 @@ class InputSourceSystemSettings extends InputSourceSettings {
                 new GLib.Variant('(s)', [this._BUS_IFACE]),
                 null, Gio.DBusCallFlags.NONE, -1, null);
             [props] = result.deepUnpack();
-        } catch (e) {
+        } catch {
             log(`Could not get properties from ${this._BUS_NAME}`);
             return;
         }
index a4c6b90b5e3eaf496272e4d95fd738be1fc91d58..ee9b2293759248fc43a0a080d99336640b8daeff 100644 (file)
@@ -2126,7 +2126,7 @@ class Indicator extends SystemIndicator {
                 const state = await this._client.check_connectivity_async(null);
                 if (state >= NM.ConnectivityState.FULL)
                     this._portalHandler.removeConnection(path);
-            } catch (e) { }
+            } catch {}
         });
 
         this._client.connectObject(
index 1e02da448d15df52e47f0ec72645192d5e81d406..77e80571ee5a68965dbcf233b85138c2453d4432 100644 (file)
@@ -499,7 +499,7 @@ export const UnlockDialog = GObject.registerClass({
             this._gdmClient.set_enabled_extensions([
                 Gdm.UserVerifierChoiceList.interface_info().name,
             ]);
-        } catch (e) {
+        } catch {
         }
 
         this._adjustment = new St.Adjustment({
index 6c557a88535a9d108a166ef7f5f05cc880c513d8..3c04163174be44f7beb940f25bf44a974e3d525f 100644 (file)
@@ -18,7 +18,7 @@ function loadInterfaceXML(iface) {
     try {
         let [ok_, bytes] = f.load_contents(null);
         return new TextDecoder().decode(bytes);
-    } catch (e) {
+    } catch {
         console.error(`Failed to load D-Bus interface ${iface}`);
     }
 
index e48e4bd324759058fc00ca4d453a28a7789216e4..7271bb3b40905b27ddb7e52acdc51aaee60eb24d 100644 (file)
@@ -19,7 +19,7 @@ describe('fixMarkup()', () => {
                 function isMarkupValid(markup) {
                     try {
                         Pango.parse_markup(markup, -1, '');
-                    } catch (e) {
+                    } catch {
                         return false;
                     }
                     return true;